The present invention relates generally to a scheme for communications within a computer network and, in particular, to the continued provision of network services after the failure of a master node within the network.
In the above-referenced co-pending application, Ser. No. 09/151,746, which is incorporated herein by reference, a computer network adapted for use in the home environment was described. That architecture included a number of network components arranged in a hierarchical fashion and communicatively coupled to one another through communication links operative at different levels of the hierarchy. At the highest level of the hierarchy, a communication protocol that supports dynamic addition of new network components at any level of the hierarchy according to bandwidth requirements within a communication channel operative at the highest level of the network hierarchy is used. Preferably, the communication channel is supported on a wireless communication link.
The generalization of this network structure is shown in FIG. 1. A subnet 10 includes a server 12. In this scheme, the termxe2x80x9csubnetxe2x80x9d is used describe a cluster of network components that includes a server and several clients associated therewith (e.g., coupled through the wireless communication link). Depending on the context of the discussion however, a subnet may also refer to a network that includes a client and one or more subclients associated therewith. A xe2x80x9cclientxe2x80x9d is a network node linked to the server through the wireless communication link. Examples of clients include audio/video equipment such as televisions, stereo components, personal computers satellite television receivers, cable television distribution nodes, and other household appliances.
Server 12 may be a separate computer that controls the communication link, however, in other cases server 12 may be embodied as an add-on card or other component attached to a host computer (e.g., a personal computer) 13. Server 12 has an associated radio 14 (half-or full-duplex), which is used to couple server 12 wirelessly to the other nodes of subnet 10. The wireless link generally supports both high and low bandwidth data channels and a command channel. Here a channel is defined as the combination of a transmission frequency (more properly a transmission frequency band) and a pseudo-random (PN) code used in a spread spectrum communication scheme. In general, a number of available frequencies and PN codes may provide a number of available channels within subnet 10. As is described in the co-pending application cited above, servers and clients are capable of searching through the available channels to find a desirable channel over which to communicate with one another.
Also included in subnet 10 are a number of clients 16, some of which have shadow clients 18 associated therewith. A shadow client 18 is defined as a client which receives the same data input as its associated client 16 (either from server 12 or another client 16), but which exchanges commands with server 12 independently of its associated client 16. Each client 16 has an associated radio 14, which is used to communicate with server 12, and some clients 16 may have associated subclients 20. Subclients 20 may include keyboards, joysticks, remote control devices, multi-dimensional input devices, cursor control devices, display units and/or other input and/or output devices associated with a particular client 16. A client 16 and its associated subclients 20 may communicate with one another via communication links 22, which may be wireless (e.g., infra-red, ultrasonic, spread spectrum, etc.) communication links.
Each subnet 10 is arranged in a hierarchical fashion with various levels of the hierarchy corresponding to levels at which intra-network component communication occurs. At a highest level of the hierarchy exists the server 12 (and/or its associated host 13), which communicates with various clients 16 via the wireless radio channel. At other, lower levels of the hierarchy the clients 16 communicate with their various subclients 20 using, for example, wired communication links or wireless communication links such as infrared links.
Where half-duplex radio communication is used on the wireless link between server 12 and clients 16, a communication protocol based on a slotted link structure with dynamic slot assignment is employed. Such a structure supports point-to-point connections within subnet 10 and slot sizes may be re-negotiated within a session. Thus a data link layer that supports the wireless communication can accommodate data packet handling, time management for packet transmission and slot synchronization, error correction coding (ECC), channel parameter measurement and channel switching. A higher level transport layer provides all necessary connection related services, policing for bandwidth utilization, low bandwidth data handling, data broadcast and, optionally, data encryption. The transport layer also allocates bandwidth to each client 16, continuously polices any under or over utilization of that bandwidth, and also accommodates any bandwidth renegotiations, as may be required whenever a new client 16 comes on-line or when one of the clients 16 (or an associated subclient 20) requires greater bandwidth.
Server 12 is an example of a network xe2x80x9cmaster devicexe2x80x9d. A master device is defined as the device in the subnet having complete control of the network operation with responsibilities such as client authentication, bandwidth allocation, and timing synchronization. Moreover as described in the above-mentioned co-pending application, master devices need to be able to respond to requests by clients to join a subnet. For example, when there are no online clients, the master node should be configured to park in a free channel and remain in a receive mode until a client packet is detected. New clients seeking admission to a network may then try to wake up the master node by sending connection request transmissions. If the master device does not respond within a predetermined time, then the client may change channels and try again. Using this mechanism, the client searches for the master device in all the channels for a predetermined number of times. If the master device is not found, then user will be informed of the same. If the master device does respond, then the client falls in synchronization with the master to continue the communication.
These schemes have the advantage of providing low interference or a free channel when the subnet is not operating. If the master node were kept active all the time (for example, by transmitting synchronization information over an active channel) any other neighborhood subnets may experience unneeded interference. However, problems with this methodology exist. For example, if no active master network device is available, a user will be unable to connect to a subnet. Further, if the master device malfunctions during network operations, an entire subnet may be brought down. It would be desirable to avoid such situations.
In one embodiment, a network node is configured control operations in a wireless computer network and to automatically hand over network master operations to an alternate network master device upon detecting an operational failure of the network node.
In a further embodiment, in response to detecting at a network node of a wireless computer network an impending operational failure of the network node, the node automatically negotiates the hand over of network control responsibilities for the wireless computer network to an alternate network master. Such network control responsibilities may include bandwidth allocation among network clients within the wireless computer network.
In still another embodiment, in response to detecting at a node of a wireless computer network (e.g., utilizing a half-duplex communication link) the absence of a master network node, the node will automatically configure itself as an alternate network master. This process may include negotiating with other master-capable nodes of the network for control of the network. Further, the node may search for an absent master node before assuming control of the network.
These and other features and advantages of the present invention will be apparent from a review of the detailed description and its accompanying drawings that follow.